package com.louis.testautowired.service.impl;

import com.louis.testautowired.dao.UserDao;
import com.louis.testautowired.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

/**
 * @author XRY
 * @date 2023年06月25日11:13
 */
@Service
public class UserServiceImpl implements UserService {
    //注入Dao
    //第一种方式：属性注入
//    @Autowired //会根据类型找到对应的对象，完成注入
//    private UserDao userDao;
    //第二种方式set注入
//    private UserDao userDao;
//    @Autowired
//    public void setUserDao(UserDao userDao) {
//        this.userDao = userDao;
//    }

//    //第三种方法：构造方法注入
//    private UserDao userDao;
//
//    @Autowired
//    public UserServiceImpl(UserDao userDao) {
//        this.userDao = userDao;
//    }

//    //第四种方式：形参上注入
//    private UserDao userDao;
//
//    public UserServiceImpl(@Autowired UserDao userDao) {
//        this.userDao = userDao;
//    }

//    //第五种方式 类中只有一个构造方法，无注解
//    private UserDao userDao;
//
//    public UserServiceImpl(UserDao userDao) {
//        this.userDao = userDao;
//    }

    //第六种方式：使用两个注解，根据名称注入
    @Autowired
    @Qualifier(value = "userDaoOtherImpl")
    private UserDao userDao;


    @Override
    public void show() {
        System.out.println("Service.........");
        userDao.check();
    }
}
